/** Single **/
.single {
  .single-title {
    margin: 0.8rem 0;
    font-size: 1.6rem;
    line-height: 140%;
  }

  .post-meta {
    font-size: .875rem;
    color: $global-font-secondary-color;

    span {
      display: inline-block;
    }

    .dark-theme & {
      color: $global-font-secondary-color-dark;
    }

    a {
      color: $single-link-color;

      .dark-theme & {
        color: $global-link-color-dark;
      }

      &:hover {
        color: $single-link-hover-color;

        .dark-theme & {
          color: $global-link-hover-color-dark;
        }
      }
    }

    .author {
      font-size: 1.05rem;
    }
  }

  .featured-image {
    padding-top: .6rem;

    img {
      display: block;
      max-width: 100%;
      height: auto;
      margin: 0 auto;
      overflow: hidden;
    }
  }

  @import "../_partial/_single/toc";

  .content {
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-weight: bold;
      margin: 1.2rem 0;

      .dark-theme & {
        font-weight: bolder;
      }

      & > .header-mark::before {
        content: "|";
        margin-right: .3125rem;
        color: $single-link-color;

        .dark-theme & {
          color: $single-link-color-dark;
        }
      }
    }

    h2 > .header-mark::before {
      content: "#";
    }

    p {
      font-size: 1rem;
      margin: .5rem 0;
    }

    b, strong {
      font-weight: bold;

      .dark-theme & {
        color: #ddd;
      }
    }

    a {
      word-break: break-all;
      word-break: break-word;
      color: $single-link-color;

      .dark-theme &, .dark-theme & b, .dark-theme & strong {
        color: $single-link-color-dark;
      }
    }

    a:hover {
      color: $single-link-hover-color;

      .dark-theme &, .dark-theme & b, .dark-theme & strong {
        color: $single-link-hover-color-dark;
      }
    }

    ul {
      padding-left: 2rem;
      list-style-type: disc;
    }

    ruby {
      background: $code-background-color;

      rt {
        color: $global-font-secondary-color;
      }

      .dark-theme & {
        background: $code-background-color-dark;

        rt {
          color: $global-font-secondary-color-dark;
        }
      }
    }

    .table-wrapper {
      overflow-x: auto;

      &::-webkit-scrollbar {
        background-color: $table-background-color;

        .dark-theme & {
          background-color: $table-background-color-dark;
        }
      }

      > table {
        width: 100%;
        max-width: 100%;
        margin: .625rem 0;
        border-spacing: 0;
        background: $table-background-color;
        border-collapse: collapse;

        .dark-theme & {
          background: $table-background-color-dark;
        }

        thead {
          background: $table-thead-color;

          .dark-theme & {
            background-color: $table-thead-color-dark;
          }
        }

        th, td {
          padding: .3rem 1rem;
          border: 1px double $global-border-color;

          .dark-theme & {
            border: 1px double $global-border-color-dark;
          }
        }
      }
    }

    img {
      max-width: 100%;
      min-height: 1.2rem;
    }

    figure {
      text-align: center;

      .image-caption:not(:empty) {
        min-width: 20%;
        max-width: 80%;
        display: inline-block;
        padding: .5rem;
        margin: 0 auto;
        font-size: .875rem;
        color: #969696;
      }

      img {
        display: block;
        height: auto;
        margin: 0 auto;
        overflow: hidden;
      }
    }

    .lazyloading {
      object-fit: none;
    }

    blockquote {
      font-size: 1rem;
      display: block;
      border-width: 1px 0;
      border-style: solid;
      border-color: $global-border-color;
      padding: 1.5em 1.2em 0.5em 1.2em;
      margin: 0 0 2em 0;
      position: relative;

      &::before {
        content: '\201C';
        position: absolute;
        top: 0em;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 3rem;
        height: 2rem;
        font: 6em/1.08em 'PT Sans', sans-serif;
        color: $single-link-color;
        text-align: center;

        .dark-theme & {
          color: $single-link-color-dark;
        }
      }

      &::after {
        content: '#blockquote' attr(cite);
        display: block;
        text-align: right;
        font-size: 0.875em;
        color: $single-link-color;

        .dark-theme & {
          color: $single-link-color-dark;
        }
      }

      .dark-theme & {
        border-color: $global-border-color-dark;
      }
    }

    .footnotes {
      color: $global-font-secondary-color;

      .dark-theme & {
        color: $global-font-secondary-color-dark;
      }
    }

    @import "../_partial/_single/code";
    @import "../_partial/_single/instagram";
    @import "../_partial/_single/admonition";
    @import "../_partial/_single/echarts";
    @import "../_partial/_single/bilibili";

    hr {
      margin: 1rem 0;
      position: relative;
      border-top: 1px dashed $global-border-color;
      border-bottom: none;

      .dark-theme & {
        border-top: 1px dashed $global-border-color-dark;
      }
    }

    kbd {
      display: inline-block;
      padding: .25rem;
      background-color: $global-background-color;
      border: 1px solid $global-border-color;
      border-bottom-color: $global-border-color;
      border-radius: 3px;
      -webkit-box-shadow: inset 0 -1px 0 $global-border-color;
      box-shadow: inset 0 -1px 0 $global-border-color;
      font-size: .8rem;
      font-family: $code-font-family;
      color: $code-color;

      .dark-theme & {
        background-color: $global-background-color-dark;
        border: 1px solid $global-border-color-dark;
        border-bottom-color: $global-border-color-dark;
        -webkit-box-shadow: inset 0 -1px 0 $global-border-color-dark;
        box-shadow: inset 0 -1px 0 $global-border-color-dark;
        color: $code-color-dark;
      }
    }

    .typeit {
      .code {
        padding: .375rem;
        font-size: .875rem;
        font-family: $code-font-family;
        font-weight: bold;
        word-break: break-all;
      }
    }
  }

  @import "../_partial/_single/footer";
  @import "../_partial/_single/comment";
}
